Conventionally, a digital-to-analog converter (“DAC”) was used to generate amplitude levels for pulse amplitude modulation (“PAM”) while compensating for nonlinearity of a conventional electro-absorption modulator (“EAM”). However, DACs in conventional EAM applications, in addition to consuming a significant amount of power, tend to have high-resolutions making them more expensive and more complex, especially for data rates in excess of 10 gigahertz.